package com.yuandian.po;

import com.yuandian.enums.TableType;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * 说明：表信息大全
 * @Author yanjun
 * @Date 2022/2/16 11:53
 */
@Data
public class FullTableInfo {

    /**
     * 表种类
     */
    private TableType tableType;

    /**
     * 开始时间
     */
    private LocalDateTime localDateStartTime;

    /**
     * 结束时间
     */
    private LocalDateTime localDateEndTime;

    /**
     * 开始时间字符串
     */
    private String startTime;

    /**
     * 结束时间字符串
     */
    private String endTime;

    /**
     * 开始时间戳，秒
     */
    private Long startTimeUsec;

    /**
     * 结束时间戳，秒
     */
    private Long endTimeUsec;

    /**
     * 开始时间时间差，秒
     */
    private Long timeSpan;

    /**
     * 真实表名
     */
    private String tableName;

    /**
     * 额外参数
     */
    private Map<String, Object> extraParams;

    /**
     * 真实表名集合
     */
    private List<String> tableNameList;

    public FullTableInfo() {}

    public FullTableInfo(LocalDateTime localDateStartTime, LocalDateTime localDateEndTime) {
        this.localDateStartTime = localDateStartTime;
        this.localDateEndTime = localDateEndTime;
    }

    public FullTableInfo(TableType tableType, LocalDateTime localDateStartTime, LocalDateTime localDateEndTime) {
        this.tableType = tableType;
        this.localDateStartTime = localDateStartTime;
        this.localDateEndTime = localDateEndTime;
    }

    public FullTableInfo(String startTime, String endTime) {
        this.startTime = startTime;
        this.endTime = endTime;
    }
}
